package com.ibm.risk.irmp.base.file.service;

import java.io.File;

public interface FileStoreService {
	/**
	 * 上传本地文件到文件服务器
	 *
	 * @param localFile
	 * @param path      存放的附件的父目录 e.g. risk_event
	 * @param fileName  文件名
	 * @return 文件服务器上的文件标识符，用于以后从文件服务器下载文件
	 */
	String upload(File localFile, String path, String fileName) throws Exception;

	/**
	 * 文件服务器文件下载到指定的临时文件
	 *
	 * @param fileUrl   文件服务器上的文件URI
	 * @param localFile 本地文件路径及文件名
	 */
	void download(String fileUrl, File localFile) throws Exception;

	/**
	 * 文件服务器文件del
	 *
	 * @param remoteUri 文件服务器上的文件路径
	 */
	void delete(String remoteUri) throws Exception;

	String getFileStoreSys();
//    /**
//     * 根据文件服务器，产生合理的远程文件标识
//     * @param expectedPath
//     * @return
//     */
//    default String normalize(String expectedPath){
//        return expectedPath;
//    }
}
